import { InjectionKey } from 'vue'
import { Direction } from '../constant'

export type ModeType = 'left' | 'right' | 'top' | 'bottom' | 'alternate'

export type LabelPositionType = 'relative' | 'same'

export type DotType = 'hollow' | 'solid'

export type LineType = 'solid' | 'dashed' | 'dotted'

export type PositionType = 'left' | 'right' | 'top' | 'bottom'

export type ItemType = 'default' | 'success' | 'info' | 'warning' | 'error'

export interface TimelineContext {
  direction: Direction
  reverse: boolean
  labelPosition: LabelPositionType
  mode: ModeType
}

export const timelineInjectionKey: InjectionKey<TimelineContext> =
  Symbol('ProTimeline')
